<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <h:head>
        <title>RetailShop</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <link rel="stylesheet" type="text/css" href="recursos/css/main.css"/>
        <link rel="stylesheet" type="text/css" href="recursos/css/index.css"/>
    </h:head>
    <h:body>

        <h:form>
            <p:commandButton value="Registrarse"  type="button" onclick="signup.show();"/>
        </h:form>
        <p:dialog id="modalDialog" header="Sign up!" showEffect="explode" hideEffect="bounce" widgetVar="signup" modal="true" height="100" resizable="false">  
            <h:form>
                <p:messages id="msgs"/>  

                <h:panelGrid columns="3">  
                    <h:outputLabel for="firstname" value="Firstname: *" />  
                    <p:inputText id="firstname" value="#{signupBean.user.name}" required="true" label="Firstname">  
                        <f:validateLength minimum="2" />  
                    </p:inputText>  
                    <p:message for="firstname" display="icon"/>  

                    <h:outputLabel for="surname" value="Surname: *" />  
                    <p:inputText id="surname" value="#{signupBean.user.surname}" label="Surname" required="true">  
                        <f:validateLength minimum="2" />  
                        <p:ajax update="msgSurname" event="keyup" />  
                    </p:inputText>  
                    <p:message for="surname" id="msgSurname" display="icon"/>  

                </h:panelGrid>  

                <p:commandButton id="btn" value="Save" update="modalDialog" actionListener="#{signupBean.signup}" oncomplete="modalDialog.show();"/> 
            </h:form>
        </p:dialog> 

                  
        Menu auto generado segun BD y ordenado alfabeticamente.
        Validacion en cliente y servidor x ejemplo login
        Se puede dar de baja y luego dar de alta manteniendo los permisos anteriorres
        Los articulos dados de baja por el admin no aparecen en la lista de items
        cantidad de item con los botoncitos
        Si el elemento ya esta en el carrito y se vuelve a añadir se unifican en lugar de salir dos veces
        Pago por paypal "real"
        Si esta vacío el carrito no hay boton de compra.
        Si un item ha cambiado de precio o se ha borrado, no afecta a las pasadas compras.
        El boton de comprar solo aparece si el carro tiene algún elemento.
        Cuando se va a eliminar una categoría, te dice si quieres eliminar esta subcategoria, o esta categoria y todas sus subcategorias
        En mantenimiento de usuarios se aplica una mascara en el estado para sustituir la busqueda de integers por strings tamb se aplica en el alert para ver toda la informacion del usuario cuando se hace click sobre la lista
        
        TODOS:
        Poner un item como gastos de envio y si sobrepasa cierta cantidad que sean gratuitos
        Cuadrar el boton de pagar y total en el carrito
        fixed:era el zoom. Letra de elementos primefaces en chrome son mas grande q firefox y descuadra
      - fixed: Cuadrar texto de stock y precio en el grid de items
        Logear con tecla intro
      - fixed:  Encriptar passwords
        Cambiar category:1 por category:Object en el menu, tal y como se hace para Item. Mas optimo ahorra una consulta
      -  Ordenar recursos en carpetas
        fixed:Centrar cuadro de modificar datos del perfir(Probar con un div primero)
      - fixed:  Poner bien las validaciones del registro y de modificacion de pefil
      revisar  Cuadrar para que al achicar la ventana no se pierdan botones del header
       fixed Centrado por porcentaje(no se hacerlo) para los dialog de confirmacion
        fixed Refresco por ajax cuando se eliminar las categorias
       fixed: Hacer fixme todos de BackofficeCategoryManagedBean
        
        TODOIMPORTANTE: Cambiar la navegacion a URL por metodo get con setURL en lugar de setAction
        
        Header con toolbar http://www.primefaces.org/showcase/ui/toolbar.jsf 
        Registro con ajax, captcha, wizzar y alert http://www.primefaces.org/showcase/ui/wizard.jsf http://www.primefaces.org/showcase/ui/dialogForm.jsf http://www.primefaces.org/showcase/ui/captchaCustom.jsf
        Login con mensajes http://www.primefaces.org/showcase/ui/dialogLogin.jsf
        Sugerencias rapidas con esto http://www.primefaces.org/showcase/ui/tooltip.jsf http://www.primefaces.org/showcase/ui/messages.jsf
        Subir fotos (creando item) http://www.primefaces.org/showcase/ui/fileUploadDnd.jsf http://www.primefaces.org/showcase/ui/fileUploadSingle.jsf
        Crear categorias http://www.primefaces.org/showcase/ui/collector.jsf
        Campos de texto con autovalidacion http://www.primefaces.org/showcase/ui/outputLabel.jsf
        
        Galeria fotos http://www.primefaces.org/showcase/ui/galleria.jsf
        Reproductores de archivos multimedia y pdf http://www.primefaces.org/showcase/ui/media.jsf
        Descargar ficheros http://www.primefaces.org/showcase/ui/fileDownload.jsf
        Paneles arrastables http://www.primefaces.org/showcase/ui/draggableBasic.jsf
        Efectos para paneles http://www.primefaces.org/showcase/ui/effects.jsf
        Foco http://www.primefaces.org/showcase/ui/focus.jsf
        Barras de progreso http://www.primefaces.org/showcase/ui/progressBar.jsf
        Cambiar temas http://www.primefaces.org/showcase/ui/themeswitcher.jsf
        
        
        
        
        
        
        
        
        
        
        
        

                                <p:confirmDialog id="confirmDeleteSubcategoria" message="Está seguro que desea eliminar esta subcategoríaaa#{childCat.idCategory}"  
                                                 header="Eliminación..." severity="alert" widgetVar="deleteSubcategoria">  
                                      
                                    <p:commandButton id="confirm" value="Sí"  oncomplete="deleteSubcategoria.hide()"  
                                                     actionListener="#{categoryManagedBean.unsubscribeCategory(idCat)}" />  
                                    <p:commandButton id="decline" value="No" onclick="deleteSubcategoria.hide()" type="button" />   

                                </p:confirmDialog>  
    </h:body>
</html>

